﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using NextGEN.Util.Portable.Common.Library.Entities.Interfaces;

namespace NextGEN.Util.Portable.Common.Library.Entities.Attributes
{
    [AttributeUsage(AttributeTargets.Property, AllowMultiple = true)]
    public abstract class BasePropertyAttribute : BaseAttribute
    {
        public string PropertyName { get; private set; }

        public string PropertyMaskName { get; protected set; }

        public bool IsWorkedAuto { get; protected set; }

        protected BasePropertyAttribute(string propertyName)
        {
            PropertyName = propertyName;
        }

        protected BasePropertyAttribute(string propertyName, string propertyMaskName, bool isWorkedAuto)
            : this(propertyName)
        {
            PropertyMaskName = propertyMaskName;
            IsWorkedAuto = isWorkedAuto;
        }
    }
}
